﻿using System.Data.Entity;

namespace dPet.Infrastructure.EntityFramework
{
	using dPet.Infrastructure.EntityFramework.ModelConfigurations;
	using Hangerd.EntityFramework;

	public class DPetUnitOfWork : EfRepositoryContext
	{
		public string Id { get; set; }

		public DPetUnitOfWork()
		{
			this.Id = System.Guid.NewGuid().ToString("N");
		}

		protected override void OnModelCreating(DbModelBuilder modelBuilder)
		{
			modelBuilder.Configurations
				.Add(new HospitalConfig())
				.Add(new StaffConfig())
				.Add(new StaffRoleConfig())
				.Add(new ProductCategoryConfig())
				.Add(new ProductSubCategoryConfig())
				.Add(new ProductConfig())
				.Add(new ProductInventoryConfig())
				.Add(new InventoryBatchConfig())
				.Add(new InventoryBatchDetailConfig())
				.Add(new SaleOrderConfig())
				.Add(new SaleOrderLineConfig())
				.Add(new BillTemplateConfig())
				.Add(new InventoryReducingRecordConfig())
				.Add(new InventoryLORecordConfig())
				.Add(new InventoryAlarmItemConfig())
				.Add(new ServiceItemConfig())
				.Add(new ServiceItemSKUConfig())
				.Add(new ServiceSKUPropertyConfig())
				.Add(new ServiceSKUPropertyValueConfig())
				.Add(new ServiceOrderConfig())
				.Add(new ServiceOrderLineConfig());

			base.OnModelCreating(modelBuilder);
		}
	}
}
